As the Internet grows, high-capacity switches are needed. Also, the networks should be more efficiently utilized, and better quality of service (QoS) should be provided to users. For these reasons, explicit routing with bandwidth reservations and delay guarantees have been supported with frameworks such as RSVP and MPLS. Since applications on the Internet have a wide range of bandwidth requirements and holding times, high-capacity packet switches should be designed to support agile bandwidth reservations with fine granularity.
The appeal of the Internet lies in the variety of services and content that it provides. Typically large numbers of users on the Internet wish to access the same information. Consequently, a significant amount of traffic on the Internet is multicast in nature, i.e., the traffic is transmitted from a single source port to multiple destination ports within a multicast group. The source node of a multicast group usually sends a copied multicast packet separately to all destinations within the multicast group. This operation places a significant burden on the source node and the links close to that node. This can create congestion which slows the network.
In an alternative arrangement, multicast packets would be sent along precalculated multicast trees. Here, a packet is copied at branch nodes of the tree, so the transmission load is distributed over those nodes. Links closer to the source carry less traffic as a result. One issue with this arrangement is that the signaling and processing required to calculate these multicast trees is burdensome in a wide area network having a large number of nodes and edges. Assuming that the Internet growth has an upper bound, high-capacity switches would significantly reduce the number of nodes and edges in the network, and so more readily provide quality of service in wide area network. However, the processing bottleneck is moved from the source to the switch in this design.
It has further been recognized that large switches with input buffers do not well support multicasting of popular contents with large fan-outs (numbers of destinations). For example, it is well known that a three-stage Clos switch requires speed-up equal to the maximum fan-out to ensure strict non-blocking. It has also been shown that the non-blocking condition in a cell-based switch with input buffers is equalized to that in a three-stage Clos circuit switch. So, a switch with a moderate speed-up would not carry a popular multicast session properly. In addition, users attached to the port that multicasts some popular content would be clogged.
Therefore a need exists for an improved system for transmitting data in multicast systems that avoids problems such as the source node being over-burdened and slow network traffic that would be due to bottlenecks at the source node.